﻿/*
SINACOR - BMF&Bovespa
Arquivo: MensagemErroRecebida.cs
Criado em: 27-mai-2010 15:43:25
Arquiteto Responsável: p-dmartinelli
*/
using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.UI.Common;
using PSE.Framework.UI.Resources;

namespace Sinacor.UI.Bovespa.Alocacao.Model 
{
	[Serializable]
	public class MensagemErroRecebida : BaseModel 
	{
		#region Atributos

		private string _codigo;
		private DateTime _dataReferencia;
		private string _descricao;
		private List<object> _descricaoArgs;
		private string _descricaoResourceKey;
		private string _numeroMensagem;

		#endregion

		#region Propriedades

		/// <summary>
		/// Bindar com a coluna Cód. Msg. da grid
		/// </summary>
		public string Codigo
		{
			get
			{
				return this._codigo;
			}
			set
			{
				this.SetValue<string>("Codigo", ref this._codigo, value);
			}
		}

		/// <summary>
		/// Bindar com a coluna Data Ref. da grid
		/// </summary>
		public DateTime DataReferencia
		{
			get
			{
				return this._dataReferencia;
			}
			set
			{
				this.SetValue<DateTime>("DataReferencia", ref this._dataReferencia, value);
			}
		}

		/// <summary>
		/// Bindar com a coluna Inconsistência da grid
		/// </summary>
		public string Descricao
		{
			get
			{
                if (String.IsNullOrEmpty(DescricaoResourceKey))
                {
                    return this._descricao;
                }
                else
                {
                    return ResourceProviderManager.GetResourceProvider().GetResource(DescricaoResourceKey, DescricaoArgs).ToString();
                }
			}
			set
			{
				this.SetValue<string>("Descricao", ref this._descricao, value);
			}
		}

		/// <summary>
		/// Não bindar
		/// </summary>
		public List<object> DescricaoArgs
		{
			get
			{
				return this._descricaoArgs;
			}
			set
			{
				this.SetValue<List<object>>("DescricaoArgs", ref this._descricaoArgs, value);
			}
		}

		/// <summary>
		/// Não bindar
		/// </summary>
		public string DescricaoResourceKey
		{
			get
			{
				return this._descricaoResourceKey;
			}
			set
			{
				this.SetValue<string>("DescricaoResourceKey", ref this._descricaoResourceKey, value);
			}
		}

		/// <summary>
		/// Bindar com a coluna Seq. da grid
		/// </summary>
		public string NumeroMensagem
		{
			get
			{
				return this._numeroMensagem;
			}
			set
			{
				this.SetValue<string>("NumeroMensagem", ref this._numeroMensagem, value);
			}
		}
		#endregion
	}
}